12. Denavit-Hartenberg Parameters
Denavit-Hartenberg Parameters
In the previous lessons, the concepts of rotations, translations, and homogenous transforms were introduced. All of these concepts are essential to understanding the forward kinematics problem of manipulators, that is, given the joint variables, calculate the location of the end effector. The solution procedure involves attaching a reference frame to each link of the manipulator and writing the homogeneous transforms from the fixed base link to link 1, link 1 to link 2, and so forth, all the way to the end effector.
In general, each transform would require six independent parameters to describe frame i relative to i-1, three for position and three for orientation.
In 1955, Jacques Denavit and Richard Hartenberg proposed a systematic method of attaching reference frames to the links of a manipulator that simplified the homogeneous transforms. Their method only requires four parameters to describe the position and orientation of neighboring reference frames. In the early days of robotics, the more compact forward kinematics equations provided substantial benefit as calculations were typically done by hand or on computers with limited processing power. As a result, the Denavit-Hartenberg (DH) method for describing manipulator kinematics is now ubiquitous.
Since its original description, several modifications have been made to the DH method, mostly regarding the numbering and location of each reference frame’s origin, so care must be taken to identify which convention is being used when comparing work from different sources. The five most common sources are listed below,
Waldron, KJ. A study of overconstrained linkage geometry by solution of closure equations, Part I: A method of study (1973). Mech. Mach. Theory 8(1):95-104.
Paul, R. (1982). Robot Manipulators: Mathematics, Programming and Control (MIT Press, Cambridge, MA)
Craig, JJ. (2005). Introduction to Robotics: Mechanics and Control, 3rd Ed (Pearson Education, Inc., NJ)
Khalil, W and Dombre, E. (2002). Modeling, Identification and Control of Robots (Taylor Francis, NY)
M. Spong and M. Vidyasagar, Robot Modeling and Control, Wiley, 2005
In this course, we will be using the convention described in John J Craig's book.
These differences in convention can make the comparison of results more difficult. It is important to always check how the sequence of homogeneous transforms is performed to relate neighboring links. The convention described below is consistent with Craig, (2005). The parameters involved, \alpha, a, d, and \theta, are best understood with the aid of a figure.
The parameter names and definitions are summarized as follows:
- \alpha_{i-1} (twist angle) = angle between \hat{Z}{i-1} and \hat{Z}{i} measured about \hat{X}_{i-1} in a right-hand sense.
- a_{i-1} (link length) = distance from \hat{Z}{i-1} to \hat{Z}{i} measured along \hat{X}{i-1} where \hat{X}{i-1} is perpendicular to both \hat{Z}{i-1} to \hat{Z}{i}
- d_{i} (link offset) = signed distance from \hat{X}{i-1} to \hat{X}{i} measured along \hat{Z}_{i}. Note that this quantity will be a variable in the case of prismatic joints.
- \theta_{i} (joint angle) = angle between \hat{X}{i-1} to \hat{X}{i} measured about \hat{Z}_{i} in a right-hand sense. Note that this quantity will be a variable in the case of a revolute joint.
For an n-degree of freedom manipulator, there will be n-joints {1, 2, …, n} and, because every joint connects two links, there are n+1 links {0, 1, …, n}. By convention, the fixed base link is link 0 and the index, i, increases sequentially towards the end effector. Notice, as in the figure above, there is no requirement for the origin of the frame to be physically on the link, only that it move rigidly with the link. The Z-axis of the reference frame is, in the case of a revolute joint, aligned with joint’s axis of rotation. Therefore, link i, rotates about \hat{Z}_{i} and relative to link i-1. For prismatic joints, the Z-axis is aligned with its direction of motion.
\hat{X}{i} represents a unit vector that is mutually perpendicular (or “normal”) to both \hat{Z}{i-1} to \hat{Z}{i}. The origin of a frame i is identified as the intersection of the common normal with \hat{Z}{i}. The parameter, a_{i-1}, measures the distance between the two Z-axes (not technically the “link length” as its name implies). In regards to the orientation of \hat{Z}{i} relative to \hat{Z}{i-1}, there are four cases to consider.
A unit vector that is mutually perpendicular to two vectors is defined as,
i.e., the cross product divided by the magnitude of the cross product. Only in the case of skew axes is \hat{X}{i-1} unique. For intersecting axes, the choice of sign is arbitrary. The conventional wisdom is to choose the direction of \hat{X}{i-1} such that a positive rotation of link i is "intuitively satisfying". For parallel axes, there are infinitely many possibilities. In this case, you should look opportunities to place the origin of the reference frame where it can make some other parameters equal to zero. Finally, the Y-axis is chosen to complete a right-handed coordinate system.
The homogeneous transform from frame i-1 to frame i is constructed as a sequence of four basic transformations, two rotations and two translations as follows:
Equations (1) and (3) are very important to understand. When learning to write the DH parameters for a new manipulator, new students often struggle with where to place reference frames, how to orient them, and keeping track of the indices. A question you should always ask yourself is: "Does the transform move the reference frame in link i-1 to be exactly coincident with the reference frame in link i?" If the answer is yes, that is a good sign! It is also important to note that in equation (3), there is only one parameter that is variable (either \theta_{i} or d_{i}), the link length and twist angle are constants. Thus, for the entire transform from base link to end effector, ^0_nT, there are only n-variables.